package com.cntcdt.api.service;

import java.util.List;
import java.util.Map;

import com.cntcdt.api.db.model.ChongdianbaoModel;

public interface ChongdianbaoService {

	/**
	 * 获取充电宝管理后台首页统计数据
	 * @return
	 */
	public Map<String,Integer> searchCnt();
	
	/**
	 * 分页查询充电宝列表
	 * @param sortTime
	 * @return
	 */
	public List<ChongdianbaoModel> findByStorTime(int sortTime);
	
	/**
	 * 根据搜索关键字分页查询充电宝
	 * @param searchContent
	 * @param sortTime
	 * @return
	 */
	public List<ChongdianbaoModel> findBySearchContent(String searchContent,int sortTime);
	
	/**
	 * 根据id查询
	 * @param chongdianbaoId
	 * @return
	 */
	public ChongdianbaoModel findById(int chongdianbaoId);
	
	/**
	 * 更新一条数据
	 * @param chongdianbao
	 * @return
	 */
	public boolean updateModel(ChongdianbaoModel chongdianbao);
	
	/**
	 * 查询失踪充电宝
	 * @param sortTime
	 * @return
	 */
	public List<ChongdianbaoModel> findByLostCDB(int sortTime);
	
	/**
	 * 根据充电宝号查询
	 * @param cdb
	 * @return
	 */
	public ChongdianbaoModel findByCDB(String cdb);
	
	/**
	 * 根据搜索内容查询
	 * @param searchContent
	 * @param sortTime
	 * @return
	 */
	public List<ChongdianbaoModel> findByLostCDBSearchContent(String searchContent,int sortTime);
	
	/**
	 * 根据设备id查询
	 * @param deviceId
	 * @return
	 */
	public List<ChongdianbaoModel> findByDeviceId(int deviceId);
	
	/**
	 * 查询指定设备id内的低优先级充电宝个数
	 * @param deviceId
	 * @return
	 */
	public int findByPriorityIs0(int deviceId);
	
	/**
	 * 查询所有充电宝，排除坏仓中的充电宝
	 * @param sortTime
	 * @return
	 */
	public List<ChongdianbaoModel> findByRemoveBrokenPositionCDB(int sortTime);
	
	/**
	 * 获取坏仓中充电宝数
	 * @return
	 */
	public Map<String,Integer> brokenPositionCDBCnt();
}
